Relaxation oscillators are useful in a wide variety of applications requiring a non-sinusoidal, repetitive output, such as a square, sawtooth, or triangle wave. For example, relaxation oscillators may be used to provide the clock signal for timers, counters, and data communication protocols.